using Logger7;

using Microsoft.AspNetCore.Razor.TagHelpers;
namespace Demo;

public class Program
{
    public static void Main(string[] args)
    {


        var builder = WebApplication.CreateBuilder(args);

        // Add services to the container.
        builder.Services.AddAuthorization(options =>
        {
            //options.AddPolicy(ERole.Admin.ToString(), policy => policy.RequireRole(ERole.Admin.ToString(), ERole.SystemAdmin.ToString()));
            //options.AddPolicy(ERole.SystemAdmin.ToString(), policy => policy.RequireRole(ERole.SystemAdmin.ToString()));
            //options.AddPolicy(ERole.Report.ToString(), policy => policy.RequireRole(ERole.Report.ToString(), ERole.Admin.ToString(), ERole.SystemAdmin.ToString()));
        });

        //builder.Services.AddSingleton<ITagHelperComponent,Logger7.SqlServer.TagHelpers.MultiLineTagHelper>();


        builder.Services.AddRazorPages().AddSessionStateTempDataProvider();
        builder.Services.AddSession();
        builder.Logging.AddSqlServerLogger(builder.Configuration.GetConnectionString("DefaultConnection")!,true);

        var app = builder.Build();

        // Configure the HTTP request pipeline.
        if (!app.Environment.IsDevelopment())
        {
            app.UseExceptionHandler("/Error");
            // The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts.
            app.UseHsts();
        }

        app.UseHttpsRedirection();
        app.UseStaticFiles();

        app.UseRouting();

        app.UseAuthentication();
        app.UseAuthorization();

        app.MapRazorPages();
        app.UseSession();
        app.Run();
    }
}
